ZerosLike

将输出数组逐元素置为 0。 该算子不依赖输入数据,仅根据给定长度与数据类型,对输出缓冲区进行清零操作,常用于初始化张量或中间结果。

\[dst_i = 0\]
输入:
  • length - 计算长度。

  • core_mask - 核掩码(仅适用于共享存储版本)。

输出:
  • output - 输出数据地址,逐元素被置为 0。

支持平台:

FT78NE MT7004

备注

  • FT78NE 支持 fp, dp, int8, int16, int32, cplx64, cplx128

  • MT7004 支持 hp, fp, int16, int32, cplx64

  • 复数类型中实部与虚部均被置为 0

共享存储版本:

void i8_zerolike_s(int8_t *output, int length, int core_mask)
void i16_zerolike_s(int16_t *output, int length, int core_mask)
void i32_zerolike_s(int32_t *output, int length, int core_mask)
void hp_zerolike_s(half *output, int length, int core_mask)
void fp_zerolike_s(float *output, int length, int core_mask)
void dp_zerolike_s(double *output, int length, int core_mask)
void c64_zerolike_s(float *output, int length, int core_mask)
void c128_zerolike_s(double *output, int length, int core_mask)

C调用示例:

 1//FT78NE示例
 2#include <stdio.h>
 3#include <zerolike.h>
 4
 5int main(int argc, char* argv[]) {
 6    float *output = (float *)0xA0000000;   // output在DDR空间
 7    int length = 1024;
 8    int core_mask = 0xff;
 9
10    fp_zerolike_s(output, length, core_mask);
11    return 0;
12}

私有存储版本:

void i8_zerolike_p(int8_t *output, int length)
void i16_zerolike_p(int16_t *output, int length)
void i32_zerolike_p(int32_t *output, int length)
void hp_zerolike_p(half *output, int length)
void fp_zerolike_p(float *output, int length)
void dp_zerolike_p(double *output, int length)
void c64_zerolike_p(float *output, int length)
void c128_zerolike_p(double *output, int length)

C调用示例:

 1//FT78NE示例
 2#include <stdio.h>
 3#include <zerolike.h>
 4
 5int main(int argc, char* argv[]) {
 6    float *output = (float *)0x10810000;   // output在L2空间
 7    int length = 1024;
 8
 9    fp_zerolike_p(output, length);
10    return 0;
11}